﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.SqlClient;
using System.Data;
using QUANLIHOCSINH.BussinessObject;
using QUANLIHOCSINH.DataAccess;
using System.Windows.Forms;

namespace QUANLIHOCSINH.BussinessLogic
{
    class MONHOCBUS
    {
        ConnectData dataConn = new ConnectData();
        public DataTable LayDanhSachMonHoc()
        {
            return dataConn.GetData("select * From MonHoc");
        }
        public int LaySoLuongMon()
        {
            string sql = "select count(*) as SoLuong FROM MONHOC";
            DataTable tbQuiDinh = dataConn.GetData(sql);

            DataRow rowUser = tbQuiDinh.Rows[0];
            return int.Parse(rowUser["SoLuong"].ToString());
           
        }
        // Lay ID Ke Tiep
        public string NextID()
        {
            // Neu Chua Du Lieu Thi Mac Dinh Khoi Tao La HS001
            if (dataConn.GetLastID("hocsinh", "mahocsinh").Equals(""))
            {
                return "1";
            }
            else
            {
                return Utility.LayMaTuDong(dataConn.GetLastID("monhoc", "mamon"),"");
            }
        }
        public bool ThemMonHoc(MONHOC mh)
        {
            //Kiem Tra Thong Tin Hoc Sinh
            if (KiemTraMonHoc(mh))
            {
               // Tien Hanh Them Hoc Sinh
            //MessageBox.Show(mh.MaMon);
                string sql = string.Format("INSERT INTO MONHOC (mamon,tenmon,sotiet,heso)  VALUES ('{0}',N'{1}','{2}','{3}')", mh.MaMon,mh.TenMon,mh.SoTiet,mh.HeSo);
                if (dataConn.ExecuteQuery(sql))
                {
                    //Thong Bao Cho Thanh Cong
                    MessageBox.Show("Thêm Môn Học Thành Công", "Thông Tin", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    return true;
                }
            }
            return false;
        }
        public bool SuaMonHoc(MONHOC mh)
        {
            //Kiem Tra Thong Tin Hoc Sinh
            if (KiemTraMonHoc(mh))
            {
                // Tien Hanh Them Hoc Sinh
                //MessageBox.Show(mh.MaMon);
                string sql = string.Format("UPDATE MONHOC set tenmon = N'{0}' , sotiet ='{1}' , heso = '{2}' where mamon = '{3}'", mh.TenMon, mh.SoTiet, mh.HeSo, mh.MaMon);
                if (dataConn.ExecuteQuery(sql))
                {
                    //Thong Bao Cho Thanh Cong
                    MessageBox.Show("Thêm Môn Học Thành Công", "Thông Tin", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    return true;
                }
            }
            return false;
        }
        public bool KiemTraMonHoc(MONHOC mh)
        {
            int n = 0;
            if (mh.TenMon.Equals(""))
            {
                MessageBox.Show("Tên Môn Không Bỏ Trống");
                return false;
            }
            if (mh.SoTiet.Equals("") )
            {
                MessageBox.Show("Số Tiết Không Bỏ Trống");
                return false;
            }
            else
            {
                if(int.TryParse(mh.SoTiet,out n))
                {
                     if (int.Parse(mh.SoTiet) > int.Parse(Utility.quidinh.SoTiet))
                    {
                        MessageBox.Show("Số Tiết Không Được Hơn " + Utility.quidinh.SoTiet);
                        return false;
                    }
                }
                else
                {
                      MessageBox.Show("Số Tiết Là Kiểu Số");
                        return false;
                }
               
            }
            if (mh.HeSo.Equals(""))
            {
                MessageBox.Show("Hệ Số Không Bỏ Trống");
                return false;
            }
            else
            {
                if (!int.TryParse(mh.HeSo, out n))
                {
                    MessageBox.Show("Hệ Số Là Kiểu Số");
                    return false;
                }  
            }
            if (LaySoLuongMon() + 1 > int.Parse(Utility.quidinh.SoMon))
            {
                MessageBox.Show("Số Môn Được Cho Phép Là " + Utility.quidinh.SoMon);
                return false;
            }
            return true;
        }
    }
}
